define(function(require, exports){
	var $ = require("jquery");
	var pubjs = require('pubjs');
	var view = require('@base/view');
	var util = require('util');

	var Main = view.container.extend({
		init:function(config){
			config = pubjs.conf(config, {
				url: 'map/import'
			});
			this.Super('init', arguments);
		}
		,afterBuild:function(){
			var self = this;
			var c = self.getConfig();
			var el = self.getDOM();

			this.append($([
				'<div class="M-formHead">',
					'<span class="M-formHeadTitle">'+LANG('地图表')+'</span>',
					'<div class="mb20" pub-name="start" pub-mod="@base/common/input.button"/>',
				'</div>',
				'<div class="" pub-name="grid" pub-mod="map/grid/list.base"/>'
			].join('')));


			this.buildFromTemplate({
				start: {
					'class': 'btn btn-default'
					,'value': '导入地图数据'
					,'width': 120
				},
				grid: {
					'hasSearch': true,
					'hasFilter': false
				}
			});

			self.createAsync('slotSidebar', '@layout/v1/sidebar.base', {
				'target': c.targetSidebar,
				'items': [
				]
			});

		}
		,onInputClick: function(ev) {
			var self = this;
			var c = self.getConfig();
			if(ev.name == 'start') {
				pubjs.confirm(LANG('确认导入地图数据吗?'), function(res) {
					if(res) {
						pubjs.mc.send(c.url, function(err) {
							if(err) {
								pubjs.alert(err.message);
								return false;
							}

							pubjs.alert(LANG('地图数据导入任务已经开启,要花费一段时间'));
						});
					}
				});
			}
		}
		,reload: function() {
			this.$.grid.load();
		}
		,onListOpClick:function(ev){
			//编辑单条记录
			pubjs.controller.navigate('map/edit/' + ev.param.data._id);
			return false;
		}
	});

	exports.main = Main;
});